Crea un nuovo R Notebook e salvalo come “r-training-esercizi” all’interno della cartella di progetto (la cartella che contiene il tuo progetto R)
Cambia il titolo del Notebook in “R training - Esercizi”
D’ora in poi, fai ogni esercizio in un nuovo chunk di codice. Ricorda che puoi commentare ogni esercizio scrivendo del testo fuori dai chunk di codice. Ricorda che puoi anche inserire dei titoli scrivendo il testo fuori dai chunk preceduto da #.
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
library(plotly)
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
marvel_data <- read.csv("marvel-wikia-data.csv",
na.string = "")
Vogliamo capire se i personaggi femminili hanno caratteristiche diverse dai personaggi maschili
marvel_fm <- marvel_data %>%
filter(SEX == "Male Characters" | SEX == "Female Characters")
ggplot(marvel_fm, aes(x = factor(1), fill = SEX)) +
geom_bar() +
coord_polar(theta = "y") +
theme_void()
ggplot(data=marvel_fm, aes(x = ALIGN)) +
geom_bar() +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
ggplot(data=marvel_fm, aes(x = ALIGN, fill = SEX)) +
geom_bar() +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
bar <- ggplot(data=marvel_fm, aes(x = ALIGN, fill = SEX)) +
geom_bar(position = "fill") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
bar
ggplotly(bar)
Vogliamo verificare la relazione tra anno di prima apparizione di un personaggio (variabile Year) e numero di apparizioni (variabile APPEARANCES). In particolare vogliamo capire se i personaggi più famosi (con numero di apparizioni elevate) sono stati creati in vari momenti nel tempo, o se la loro nascita è concentrati in uno o più specifici periodi.
scatter <- ggplot(marvel_data %>% filter(APPEARANCES > 150),
aes(x = Year, y = APPEARANCES,
color = ALIGN)) +
geom_point()
scatter
## Warning: Removed 5 rows containing missing values (geom_point).
ggplotly(scatter)
app_av_data <- marvel_data %>%
group_by(Year) %>%
summarise(avg_app = mean(APPEARANCES, na.rm = T))
ggplot(app_av_data, aes(x = Year, y = avg_app)) +
geom_point()
## Warning: Removed 1 rows containing missing values (geom_point).